<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Getting Started with Berkeley DB</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Getting Started with Berkeley DB" />
    <link rel="next" href="preface.html" title="Preface" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Getting Started with Berkeley DB</th>
        </tr>
        <tr>
          <td width="20%" align="left"> </td>
          <th width="60%" align="center"> </th>
          <td width="20%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="book" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h1 class="title"><a id="idp150864"></a>Getting Started with Berkeley DB</h1>
          </div>
          <div>
            <div class="legalnotice">
              <a id="idp159624"></a>
              <p class="legalnotice-title">
                <b>Legal Notice</b>
              </p>
              <span>
        <p>
            This documentation is distributed under an open source license.
            You may review the terms of this license at:
            <a class="ulink" href="http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html" target="_top">http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html</a>
            
            
        </p>

        <p>
                Oracle, Berkeley DB,
                
                
                and
                Sleepycat are trademarks or registered trademarks of
                Oracle. All rights to these marks are reserved.
                No third-party use is permitted without the
                express prior written consent of Oracle.
        </p>
        
        <p>
            Other names may be trademarks of their respective owners.
        </p>
        <p>
            To obtain a copy of this document's original source code, please
            submit a request to the Oracle Technology Network forum at:
            <a class="ulink" href="http://forums.oracle.com/forums/forum.jspa?forumID=271" target="_top">http://forums.oracle.com/forums/forum.jspa?forumID=271</a>
            
            
        </p>
    </span>
            </div>
          </div>
          <div>
            <p class="pubdate">9/9/2013</p>
          </div>
        </div>
        <hr />
      </div>
      <div class="toc">
        <p>
          <b>Table of Contents</b>
        </p>
        <dl>
          <dt>
            <span class="preface">
              <a href="preface.html">Preface</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="preface.html#conventions">Conventions Used in this Book</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="moreinfo.html">For More Information</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="moreinfo.html#contact_us">Contact Us</a>
                    </span>
                  </dt>
                </dl>
              </dd>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="introduction.html">1. Introduction to Berkeley DB </a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="introduction.html#aboutthismanual">About This Manual</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="concepts.html">Berkeley DB Concepts</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="accessmethods.html">Access Methods</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="accessmethods.html#selectAM">Selecting Access Methods</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="accessmethods.html#BTreeVSHash">Choosing between BTree and Hash</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="accessmethods.html#QueueVSRecno">Choosing between Queue and Recno</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="databaseLimits.html">Database Limits and Portability</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="environments.html">Environments</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="coreExceptions.html">Exception Handling</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="returns.html">Error Returns</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="gettingit.html">Getting and Using DB </a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="databases.html">2. Databases</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="databases.html#DBOpen">Opening Databases</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="coredbclose.html">Closing Databases</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="DBOpenFlags.html">Database Open Flags</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="CoreDBAdmin.html">Administrative Methods</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="dbErrorReporting.html">Error Reporting Functions</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="CoreEnvUsage.html">Managing Databases in Environments</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="CoreDbCXXUsage.html">Database Example</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="DBEntry.html">3. Database Records</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="DBEntry.html#usingDbEntry">Using Database Records</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="usingDbt.html">Reading and Writing Database Records</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="usingDbt.html#databaseWrite">Writing Records to the Database</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="usingDbt.html#CoreDatabaseRead">Getting Records from the Database</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="usingDbt.html#recordDelete">Deleting Records</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="usingDbt.html#datapersist">Data Persistence</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="DbCXXUsage.html">Database Usage Example</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="Cursors.html">4. Using Cursors</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="Cursors.html#openCursor">Opening and Closing Cursors</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="Positioning.html">Getting Records Using the Cursor</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="Positioning.html#cursorsearch">Searching for Records</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="Positioning.html#getdups">Working with Duplicate Records</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="PutEntryWCursor.html">Putting Records Using Cursors</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="DeleteEntryWCursor.html">Deleting Records Using Cursors</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="ReplacingEntryWCursor.html">Replacing Records Using Cursors</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="CoreCursorUsage.html">Cursor Example</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="indexes.html">5. Secondary Databases</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="indexes.html#CoreDbAssociate">Opening and Closing Secondary Databases</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="keyCreator.html">Implementing Key 
        
        <span>Extractors</span>
        </a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="keyCreator.html#multikeys">Working with Multiple Keys</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="readSecondary.html">Reading Secondary Databases</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="secondaryDelete.html">Deleting Secondary Database Records</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="secondaryCursor.html">
        
        <span>Using Cursors with Secondary Databases</span>
    </a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="joins.html">Database Joins</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="joins.html#joinUsage">Using Join Cursors</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="coreindexusage.html">Secondary Database Example</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="coreindexusage.html#edlWIndexes">Secondary Databases with example_database_load</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="coreindexusage.html#edrWIndexes">Secondary Databases with example_database_read</a>
                    </span>
                  </dt>
                </dl>
              </dd>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="dbconfig.html">6. Database Configuration</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="dbconfig.html#pagesize">Setting the Page Size</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="dbconfig.html#overflowpages">Overflow Pages</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="dbconfig.html#Locking">Locking</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="dbconfig.html#IOEfficiency">IO Efficiency</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="dbconfig.html#pagesizeAdvice">Page Sizing Advice</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="cachesize.html">Selecting the Cache Size</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="btree.html">BTree Configuration</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="btree.html#duplicateRecords">Allowing Duplicate Records</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="btree.html#comparators">Setting Comparison Functions</a>
                    </span>
                  </dt>
                </dl>
              </dd>
            </dl>
          </dd>
        </dl>
      </div>
      <div class="list-of-examples">
        <p>
          <b>List of Examples</b>
        </p>
        <dl>
          <dt>2.1. <a href="CoreDbCXXUsage.html#MyDb-cxx">MyDb Class</a></dt>
          <dt>3.1. <a href="DbCXXUsage.html#VENDORCXXStruct">VENDOR Structure</a></dt>
          <dt>3.2. <a href="DbCXXUsage.html#InventoryData">InventoryData Class</a></dt>
          <dt>3.3. <a href="DbCXXUsage.html#exampledbload-cxx">example_database_load</a></dt>
          <dt>4.1. <a href="CoreCursorUsage.html#CoreEIR-cxx">example_database_read</a></dt>
        </dl>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top"> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right" valign="top"> Preface</td>
        </tr>
      </table>
    </div>
  </body>
</html>
